package com.guanji.learn.service;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

/**
 * 如果数组的长度小于32 就会先寻找前半段有序(降序时进行反转)的数据，再将后半段的数据插入到前半段有序数组中(二分插入排序)
 * 为什么会是32: 由Jdk开发小组多次再不同硬件和数据集测试出来的结果
 *
 * 保证一个段在16-32长度之间 如果为奇数进行补偿
 *
 */

public class TimSortService {

    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(3, 1, 5, 2, 4, 6, 3, 1, 5, 2, 4, 6,123,231,1,232,26,89,1,1,22,15,3,123,634,121,98,23,43,6,76,234,234,7,2,34,6,7,77);
        list.sort((o1, o2) -> o1-o2);
    }

}
